﻿//using dz.u9.jky.schema.Common;
//using System;
//using System.Web.Http;
//using UFIDA.UBF.MD.Business;
//using UFSoft.UBF.Business;
//using UFSoft.UBF.Util.DataAccess;

//namespace dz.inner.jky.api
//{
//    public class DzDemandController : DzBaseController
//    {
//        [HttpPost]
//        public U9CResult Add(DzDemand demand)
//        {
//            U9CResult result = new U9CResult();

//            try
//            {
//                ExtEnumType extEnumType = ExtEnumType.Finder.Find(" Code='UFIDA.U9.CBO.Enums.DemandCodeEnum'");
//                Check(demand.Code, extEnumType.ID);

//                using (ISession session = Session.Open())
//                {
//                    ExtEnumValue demandcode = ExtEnumValue.Create(extEnumType);
//                    demandcode.Code = demand.Code;
//                    demandcode.Name = demand.Name;
//                    demandcode.ExtEnumTypeUID = extEnumType.UID;
//                    demandcode.SysVersion = 100L;
//                    demandcode.IsSystem = false;
//                    demandcode.EValue = GetMaxValue(extEnumType.ID);                    

//                    session.Commit();

//                    result.IsSuccess = true;
//                    result.DocNo = demand.Code;
//                    result.Id = demandcode.ID;
//                }
//            }
//            catch (Exception ex)
//            {
//                result.Message = ex.Message;
//            }
//            return result;
//        }

//        private void Check(string code,long enumType)
//        {
//            ExtEnumValue value = ExtEnumValue.Finder.Find($"Code = '{code}' and ExtEnumType = {enumType}");

//            if (value != null)
//            {
//                throw new Exception($"需求分类 {code} 已存在");
//            }
//        }

//        private int GetMaxValue(long enumType)
//        {
//            string sql = $"select max(EValue) from ubf_sys_extenumvalue where ExtEnumType = {enumType}";
//            object obj;

//            DataAccessor.RunSQL(DataAccessor.GetConn(), sql, null, out obj);

//            return (obj == null || obj == DBNull.Value) ? 2000 : (int)obj + 1;
            
//        }
//    }
//}
